import java.util.Arrays;

/**
 * author:Neil
 * Time: 15:41
 * Date: 2022/9/5
 * Description:
 * 插入排序法：
 *  由第二个位置向前比较
 *  如果小于前面的值，则进行交换
 *  如果大于，则继续往后做插入计算
 */
public class InsertSort {

    public static void insertSort(int[] arr){
        int i,j,temp;
        for (i = 1; i < arr.length; i++) {
            j=i-1;
            temp=arr[i];
            while(j >=0&&arr[j]>temp){
                arr[j + 1] = arr[j];
                j--;
            }
            arr[j+1] = temp;

        }
    }

    public static void main(String[] args) {
        int[] arr= {8, 2,-1,-3, 30, 20};
        System.out.println("插入排序前：");
        System.out.println(Arrays.toString(arr));
        insertSort(arr);
        System.out.println("插入排序后：");
        System.out.println(Arrays.toString(arr));
    }
}
